본문으로 건너뛰기

트랜스포트 계층 서비스 및 개요

트랜스포트 계층 프로토콜은 각기 다른 호스트에서 동작하는 애플리케이션 프로세스 간의 논리적 통신(logical communication)을 제공한다.

위 그림처럼, 트랜스포트 계층 프로토콜은 네트워크 라우터가 아닌 종단 시스템에서 구현된다.

  1. 송신 측의 트랜스포트 계층은 송신 애플리케이션 프로세스로부터 수신한 메시지를 트랜스포트 계층 패킷으로 변환한다.(이는 트랜스포트 계층 세그먼트(segement)라고 부름)

    • 애플리케이션 메시지를 작은 조각으로 분할
    • 각각의 조각에 트랜스포트 계층 헤더를 추가
  2. 트랜스포트 계층은 송신 종단 시스템에 있는 네트워크 계층으로 세그먼트를 전달한다.

    • 세그먼트는 네트워크 계층 패킷(데이터 그램) 안에 캡슐화되어 목적지로 전달된다.

      네트워크 라우터는 오로지 데이터 그램의 네트워크 계층 필드에 대해 동작한다. 즉, 데이터그램 안에 캡슐화된 트랜스포트 계층 세그먼트의 필드를 검사하지 않는다.

  3. 수신 측에서 네트워크 계층은 데이터그램으로부터 트랜스포트 계층 세그먼트를 추출하고 트랜스포트 계층으로 세그먼트를 보낸다.

  4. 트랜스포트 계층은 수신 애플리케이션에서 세그먼트 내부의 데이터를 이용할 수 있도록 수신된 세그먼트를 처리한다.

네트워크 애플리케이션에서는 하나 이상의 트랜스포트 계층 프로토콜을 사용할 수 있다. e.g. 인터넷은 TCP, UDP라는 두 가지 프로토콜을 가지고 있다.

3.1.1 트랜스포트 계층과 네트워크 계층 사이의 관계

트랜스포트 계층 프로토콜은 각기 다른 호스트에서 동작하는 프로세스들 사이의 논리적 통신을 제공

네트워크 계층 프로토콜은 호스트들 사이의 논리적 통신을 제공

  • 트랜스포트 계층 프로토콜은 종단 시스템에 존재
  • 애플리케이션 프로세스에서 네트워크 계층 사이에서 메시지를 운반하는 역할
  • 메시지가 네트워크 계층 내부에서 어떻게 이동하는지는 언급하지 않음
  1. 트랜스포트 계층이 제공할 수 있는 서비스는 하위 네트워크 계층 프로토콜의 서비스 모델에 의해 제약받는다.

네트워크 계층 프로토콜이 호스트 사이에서 전송되는 트랜스포트 계층 세그먼트에 대한 지연 보장이나 대역폭 보장을 제공할 수 없다면, 트랜스포트 계층 프로토콜은 프로세스끼리 전송하는 메시지에 대한 지연 보장이나 대역폭 보장을 제공할 수 없음

  1. 하위 네트워크 프로토콜이 상응하는 서비스를 제공하지 못할 때도, 특정 서비스는 트랜스포트 프로토콜에 의해 제공될 수 있다.

하위 네트워크 프로토콜이 비신뢰적일 때, 트랜스포트 계층이 애플리케이션에게 신뢰적인 데이터 전송 서비스를 제공할 수 있음 (비신뢰적이다 = 패킷을 분실하거나, 손상시키거나, 복사본을 만든다)

3.1.2 인터넷 트랜스포트 계층의 개요

  1. TCP(Transmission Control Protocol)

    • 신뢰적이고 연결지향형 서비스를 제공(reliable data transfer)
    • 혼잡 제어(congestion control): 혼잡한 네트워크 링크에서 각 TCP 연결이 링크의 대역폭을 공평하게 공유하여 통과하도로고 해줌
  2. UDP(User Datagram Protocol)

    • 비신뢰적이고 비연결형 서비스를 제공
    • UDP 트랜스포트 프로토콜을 사용하는 애플리케이션은 허용이 되는 한 그것이 만족하는 어떤 속도로든 전송할 수 있음

세그먼트와 데이터그램

  • 세그먼트: 트랜스포트 계층 패킷을 일컫는 말
  • TCP에 대한 패킷을 세그먼트, UDP에 대한 패킷을 데이터그램이라는 용어로 나타내기도 함

이 책에서는 TCP와 UDP 패킷을 모두 세그먼트라고 지칭, 네트워크 계층 패킷에 대해서는 데이터그램이라는 용어를 사용

인터넷 프로토콜(Internet Protocol, IP)

인터넷 네트워크 계층 프로토콜

IP 서비스 모델은 호스트들 간에 논리적 통신을 제공하는 최선형 전달 서비스(best-effort delivery service)

즉, IP가 통신하는 호스트들 간에 세그먼트를 전달하기 위해 최대한 노력하지만, 어떤 보장도 하지 않는다.

  • 세그먼트의 전달 보장 X
  • 순서 보장 X
  • 내부 데이터의 무결성(integrity) 보장 X

-> IP는 비신뢰적인 서비스(unrelicable service)

각 호스트는 적어도 하나의 IP 주소를 가지고 있다.

UDP와 TCP의 서비스 모델

  1. 트랜스포트 계층 다중화(transport-layer multiplexing)와 역다중화(demultiplexing)

종단 시스템 사이의 IP 전달 서비스를 / 종단 시스템에서 동작하는 두 프로세스 간의 전달 서비스로 확장 '호스트 대 호스트 전달' -> '프로세스 대 프로세스 전달'

  1. 헤더에 오류 검출 필드를 포함함으로써 무결성 검사를 제공